Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.08.2016, 23:18
Интересующийся
Отправить личное сообщение для 7vano7 Посмотреть профиль Найти все сообщения от 7vano7
 
Регистрация: 26.08.2016
Сообщений: 10

не работает отправка данных из <select multiple>
Привет всем! Помогите решить проблему.
Есть рабочий скрипт (прикреплен), все работает. Но если в поле "рубрика" поставить <select multiple name="rubric[]"> скрипт не работает.
нужно при добавлении товара присвоить несколько категорий.
Что я не так делаю? Что нужно исправить?
Вложения:
Тип файла: txt add.txt (1.2 Кб, 5 просмотров)
Тип файла: txt js.txt (2.7 Кб, 5 просмотров)
Тип файла: txt php.txt (2.6 Кб, 5 просмотров)

Последний раз редактировалось 7vano7, 26.08.2016 в 23:50. Причина: вложены файлы
Ответить с цитированием
  #2 (permalink)  
Старый 27.08.2016, 02:30
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

7vano7,
select multiple name="rubric[]", то есть множественный выбор и серверу будет передан массив, а массив вот так пихнуть var select_cat = $(this).val(); серверу не получится. Либо преобразовывайте в json, либо в строку url параметров.

PS.
<select name="subcategory" id="subcategory" size=1>
<div id="subcat_select"></div>
</select>
такое возможно только в результате взрыва мозга.

Последний раз редактировалось laimas, 27.08.2016 в 03:22.
Ответить с цитированием
  #3 (permalink)  
Старый 27.08.2016, 13:25
Интересующийся
Отправить личное сообщение для 7vano7 Посмотреть профиль Найти все сообщения от 7vano7
 
Регистрация: 26.08.2016
Сообщений: 10

спасибо, буду пробовать!
Ответить с цитированием
  #4 (permalink)  
Старый 27.08.2016, 13:41
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от 7vano7
буду пробовать
Только не таким методом - есть форма, поля ее именованные, зачем же лишнее?
Ответить с цитированием
  #5 (permalink)  
Старый 27.08.2016, 13:52
Интересующийся
Отправить личное сообщение для 7vano7 Посмотреть профиль Найти все сообщения от 7vano7
 
Регистрация: 26.08.2016
Сообщений: 10

спасибо Laimas!!
да,
<select name="subcategory" id="subcategory" size=1>
<div id="subcat_select"></div>
</select>
переделал (убрал блок div), спасибо что заметили :-)
Я в js еще новичек...
Ответить с цитированием
  #6 (permalink)  
Старый 27.08.2016, 13:58
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от 7vano7
Я в js еще новичек...
Дело не в JS, а в том как используется форма, вернее не используется.
Ответить с цитированием
  #7 (permalink)  
Старый 27.08.2016, 14:24
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

7vano7,
то что select может содержать только элементы option определяется не JS, а HTML.

Но как вы используете список. У вас список имеет имя name="rubric[]", а серверу передается его выбранные опции почему-то под ключом cat, почему? Почему сразу не именовать список не rubric, а cat?

Вы в скриптах создаете множество переменных-посредников, что затрудняет сопровождение кода. К тому же, для каждого списка вы пишите отдельную функцию обработчик, но обращаетесь к одному и тому же серверному скрипту. Но все эти обработчики передают разные параметры запроса, следовательно должен быть и один скрипт обработчик. Для вас как начинающего это сразу возможно и не сделать, но привыкайте продумывать взаимоотношения сервера и клиента.

Клиент, это терминал, мозги на сервере, он задает правила и определяет то, что хотел бы получить от клиента. Если при этом сервер определил имена полей, связав их с конкретной таблицей базы, строит по этим именам форму, то при необходимости изменения этих имен, достаточно будет изменить это на сервере в одном месте. Производить изменения в клиентском скрипте при этом менять не потребуется, как не потребуется вносить изменения и в серверном скрипте принимающем данные клиента для обработки.
Ответить с цитированием
  #8 (permalink)  
Старый 27.08.2016, 14:43
Интересующийся
Отправить личное сообщение для 7vano7 Посмотреть профиль Найти все сообщения от 7vano7
 
Регистрация: 26.08.2016
Сообщений: 10

Спасибо Вам за информацию! Буду стремиться делать правильно!
Ответить с цитированием
  #9 (permalink)  
Старый 29.08.2016, 23:17
Интересующийся
Отправить личное сообщение для 7vano7 Посмотреть профиль Найти все сообщения от 7vano7
 
Регистрация: 26.08.2016
Сообщений: 10

спасибо за помощь, Laimas , все работает))
Ответить с цитированием
  #10 (permalink)  
Старый 30.08.2016, 02:35
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от 7vano7
все работает
до поры, до времени , менять код обработки запросов клиента и обязательно.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка данных динамически создаваемых инпутов windin Events/DOM/Window 13 25.09.2013 16:07
Простейшая отправка данных на сервер и вывод MBmusic AJAX и COMET 12 23.09.2013 12:35
отправка всех данных store на сервер shepard90 ExtJS 1 03.04.2013 23:52
Ajax и три <form> не работает. Как правильно сделать листание записей из базы данных? vlad275 AJAX и COMET 2 14.12.2009 14:04
База данных. Работает только в IE. Izgoj Javascript под браузер 9 29.10.2009 17:20